
#include "EffectParameter.h"

#include <System/InvalidCastException.h>

using namespace Riccsson::System;
using namespace Riccsson::Xna::Framework::Graphics;
using namespace Riccsson::Xna::Framework;

/*internal*/ EffectParameter::EffectParameter(   EffectParameterClass class_, 
							EffectParameterType type, 
							GC_PTR<Riccsson::System::string> name, 
							int rowCount, 
							int columnCount,
							GC_PTR<Riccsson::System::string> semantic, 
							GC_PTR<EffectAnnotationCollection> annotations,
							GC_PTR<EffectParameterCollection> elements,
							GC_PTR<EffectParameterCollection> structMembers,
							GC_PTR<Riccsson::System::object> data )
{
	throw;
}

/*internal*/ EffectParameter::EffectParameter(EffectParameter* cloneSource)
{
	throw;
}


bool EffectParameter::GetValueBoolean ()
{
	throw;
}

GC_PTR<Riccsson::System::Array<bool>> EffectParameter::GetValueBooleanArray ()
{
	throw Riccsson::System::NotImplementedException();
}

int EffectParameter::GetValueInt32 ()
{
	throw;
}

GC_PTR<Riccsson::System::Array<int>> EffectParameter::GetValueInt32Array ()
{
	throw Riccsson::System::NotImplementedException();
}

Matrix EffectParameter::GetValueMatrix ()
{
	throw;
}

GC_PTR<Riccsson::System::Array<Matrix>> EffectParameter::GetValueMatrixArray (int count)
{
	throw Riccsson::System::NotImplementedException();
}

Quaternion EffectParameter::GetValueQuaternion ()
{
	throw Riccsson::System::NotImplementedException();
}

GC_PTR<Riccsson::System::Array<Quaternion>> EffectParameter::GetValueQuaternionArray ()
{
	throw Riccsson::System::NotImplementedException();
}

Single EffectParameter::GetValueSingle ()
{
	throw;
}

GC_PTR<Riccsson::System::Array<Single>> EffectParameter::GetValueSingleArray ()
{
	throw;
}

GC_PTR<Riccsson::System::string> EffectParameter::GetValueString ()
{
	throw;
}

GC_PTR<Texture2D> EffectParameter::GetValueTexture2D ()
{
	throw;
}

#if !GLES
GC_PTR<Texture3D> EffectParameter::GetValueTexture3D ()
{
	throw;
}
#endif

GC_PTR<TextureCube> EffectParameter::GetValueTextureCube ()
{
	throw Riccsson::System::NotImplementedException();
}

Vector2 EffectParameter::GetValueVector2 ()
{
	throw;
}

GC_PTR<Riccsson::System::Array<Vector2>> EffectParameter::GetValueVector2Array ()
{
	throw Riccsson::System::NotImplementedException();
}

Vector3 EffectParameter::GetValueVector3 ()
{
	throw;
}

GC_PTR<Riccsson::System::Array<Vector3>> EffectParameter::GetValueVector3Array ()
{
	throw Riccsson::System::NotImplementedException();
}

Vector4 EffectParameter::GetValueVector4 ()
{
	throw;
}

GC_PTR<Riccsson::System::Array<Vector4>> EffectParameter::GetValueVector4Array ()
{
	throw Riccsson::System::NotImplementedException();
}

void EffectParameter::SetValue (bool value)
{
	throw;
}

void EffectParameter::SetValue (Riccsson::System::Array<bool>* value)
{
	throw Riccsson::System::NotImplementedException();
}

void EffectParameter::SetValue (int value)
{
	throw;
}

void EffectParameter::SetValue (Riccsson::System::Array<int>* value)
{
	throw Riccsson::System::NotImplementedException();
}

void EffectParameter::SetValue(Matrix value)
{
	throw;
}

void EffectParameter::SetValueTranspose(Matrix value)
{
	throw;
}

void EffectParameter::SetValue (Riccsson::System::Array<Matrix>* value)
{
	throw;
}

void EffectParameter::SetValue (Quaternion value)
{
	throw Riccsson::System::NotImplementedException();
}

void EffectParameter::SetValue (Riccsson::System::Array<Quaternion>* value)
{
	throw Riccsson::System::NotImplementedException();
}

void EffectParameter::SetValue (Single value)
{
	throw;
}

void EffectParameter::SetValue (Riccsson::System::Array<Single>* value)
{
	throw;
}
		
void EffectParameter::SetValue (Riccsson::System::string value)
{
	throw Riccsson::System::NotImplementedException();
}

void EffectParameter::SetValue (Texture value)
{
	throw;
}

void EffectParameter::SetValue (Vector2 value)
{
	throw;
}

void EffectParameter::SetValue (Riccsson::System::Array<Vector2>* value)
{
	throw;
}

void EffectParameter::SetValue (Vector3 value)
{
	throw;
}

void EffectParameter::SetValue (Riccsson::System::Array<Vector3>* value)
{
	throw;
}

void EffectParameter::SetValue (Vector4 value)
{
	throw;
}

void EffectParameter::SetValue (Riccsson::System::Array<Vector4>* value)
{
	throw;
}